<%@page import="net.sf.json.JSONArray"%>
<%@page import="java.net.URLEncoder"%>
<%@page import="java.net.URLDecoder"%>
<%@page import="java.sql.ResultSet"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<jsp:useBean id="database" scope="request" class="accessibleworldsdatabase.AccessibleWorldsDatabaseJavaBeans"/>
<jsp:useBean id="des" scope="request" class="accessibleworldsdes.AccessibleWorldsDESJavaBeans"/>
<%try {

String accessCode = request.getParameter("accessCode");

if(!(accessCode==null || "".equals(accessCode))) {
	
    accessCode = des.decryptString(session.getId(), accessCode);
    accessCode = URLDecoder.decode(accessCode, "UTF-8");
    
    if(des.getAndroidAccessCode().equals(accessCode) || des.getComputerAccessCode().equals(accessCode)) {
    	
    	String userID = request.getParameter("userID");
    	
		if(!(userID == null || "".equalsIgnoreCase(userID))) {
    		
			userID = des.decryptString(session.getId(), userID);
			userID = URLDecoder.decode(userID, "UTF-8");

	    	database.connect(des.decryptString(des.getServiceSecretKey(), database.getEncryptedPassword()));
	    
		    String SQL =
		    "SELECT * FROM Reports"+
		    	" WHERE"+
		    		" user_id = "+userID+
		    		" AND visible = 1";
	
		    ResultSet resultSet = database.execSQL(SQL);
		
		    String output = URLEncoder.encode("OK","UTF-8");
		    
		    while(resultSet.next()) {
		    	JSONArray jsonArray = new JSONArray();
		    	jsonArray.add(resultSet.getString("Report_id"));
		    	jsonArray.add(resultSet.getString("status"));
		    	jsonArray.add(resultSet.getString("v_id"));
		    	jsonArray.add(resultSet.getString("title"));
		    	jsonArray.add(resultSet.getString("description"));
		    	jsonArray.add(resultSet.getString("latitude"));
		    	jsonArray.add(resultSet.getString("longitude"));
		    	jsonArray.add(resultSet.getString("rating"));
				output = output+" "+URLEncoder.encode(jsonArray.toString(),"UTF-8");
		    }
		
	        output = des.encryptString(session.getId(),output);
	        out.print(output);
		    
		    database.closeConnection();
		}
    }
}
} catch (Exception ex) {}%>